The following publications are believed to be generally relevant to the field of the invention.
1. Delean, Bruno, Method and System for Image Processing, PCT International Publication WO 94/22101, published Sept. 29, 1994. PA0 2. Ebert, David S. et al., Texture and Modeling: A Procedural Approach, AP Professional, 1994. PA0 3. Perlin, Ken and Velho, Luiz, Live Paint: Painting with Procedural Multiscale Textures, in SIGGRAPH 95 Conference Proceedings, COMPUTER GRAPHICS Proceedings, Annual Conference Series, 1995, pgs. 153-160. PA0 4. Watt, Alan and Watt, Mark, Advanced Animation and Rendering Techniques: Theory and Practice, Addison Wesley, 1992.
Texture mapping was initially developed for rendering realistic three dimensional computer graphics. Three-dimensional rendering techniques tend to produce smoothly shaded images based on the geometry of the scene. To add complexity to the final image without complicating the geometry (and thus slowing down the renderer), texture maps were applied to the objects.
When computing color for a particular point on a three-dimensional surface, the renderer can sample a texture map to alter any surface characteristic. The most common effect is to alter the color of the surface using an image as the texture map. The resulting surface appears to have the image pasted on it. This is referred to as "pattern mapping." Another popular method is to use the texture sample to perturb the surface normal. After shading, this causes the surface to appear bumpy, and hence this technique is often referred to as "bump mapping."
There are two standard ways to produce a texture map: using an image or using a procedure. When an image is used for texture mapping, the image is often small, and is tiled in both directions to complete a full texture map. Use of an image is advantageous in that it gives an artist a great deal of control, since any image can be used, and real world textures can be scanned for use as images. However, use of an image has a disadvantage in that the image used has a finite resolution, and thus cannot be magnified much beyond this finite resolution without destroying the textured look.
A procedural texture is generated by a recursive algorithm, and as such the algorithm can be iterated repeatedly to produce a texture map of unlimited resolution. The parameters of the basic algorithm can be varied, resulting in many interesting by-product textures. Procedural textures are known for their ability to simulate natural textures such as wood, marble and rock, as well as noise. Information about procedural textures appears in the aforesaid publication by Ebert, David S. et al., Texturing and Modeling: A Procedural Approach, AP Professional, 1994, the disclosure of which is hereby incorporated by reference.
Artists often like to paint using brush strokes that are not flat colors, and they often like to apply texture effects to images that are being composited together. Painting with texture effects is available in commercial products such as Adobe PHOTOSHOP.RTM. and FRACTAL DESIGN PAINTER.RTM.. These products do not use resolution-independent techniques; rather, the texture map resolution is re-sampled to a final fixed resolution when painting. Such techniques have the drawback of being slow when painting large areas with fine textures.
Resolution-independent techniques for texture mapping are available in script based programs, such as FRACTAL DESIGN EXPRESSION.RTM., but they do not allow for fine detail retouching actions.
The FITS model described in the aforesaid Delean reference, the disclosure of which is hereby incorporated by reference, is an example of a multi-resolution paint system. This model introduces two sets of tools for imposing texture and noise. The first tool is a texture option to modulate the opacity of a brush stroke. The second tool is a noise option to modulate the grain of an image.
A drawback with the FITS texture option is that it only applies to the opacity. This limitation is inherent in the underlying equation that is fundamental to the FITS rendering model. A drawback with the FITS noise option is that it is applied globally to the entire composite after rendering, and cannot be controlled on a per layer basis.
The need for resolution-independent textured brush strokes has been identified by Perlin and others. As indicated in the aforesaid publication of Perlin, the disclosure of which is hereby incorporated by reference, Perlin proposed a resolution-independent self refining method. A drawback with Perlin's technique is that it does not deal with textures of different geometries. That is, Perlin deals only with textures applied "flat" on the image, there being no facility to permit a geometric transformation to be applied to the texture.
Another drawback with Perlin's technique is that it does not handle interactions between textures and images. For example, it cannot apply texture to perturb the shape or surface of an image.
Moreover, Perlin deals only with bandpass multi-resolution pyramids, and the "lazy evaluation" strategy, which means that the textures are considered as images that refine themselves statically in a potentially infinite memory. This can create huge images.